package com.university.report.model.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.*;
import com.university.report.model.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * <p>
 * 
 * </p>
 *
 * @author Jinondo
 * @since 2021-06-09
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@TableName("t_report_info")
public class ReportInfo extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * message id
     */
    @TableId(value = "message_id", type = IdType.AUTO)
    @ApiModelProperty(value = "上报信息id")
    private Integer messageId;

    @ApiModelProperty(value = "用户id")
    private Integer userId;

    @ApiModelProperty(value = "上报日期")
    private Timestamp reportDate;

    /**
     * 紧急联系人姓名
     */
    @ApiModelProperty(value = "紧急联系人")
    private String emergencyContact;

    /**
     * 紧急联系人电话
     */
    @ApiModelProperty(value = "紧急联系人电话")
    private String emergencyContactNum;

    /**
     * 身体状况
     */
    @ApiModelProperty(value = "健康状况")
    private String healthCon;

    /**
     * 最近15天是否到达或途径疫情防控重点区域
     */
    @ApiModelProperty(value = "最近15天是否到达或途径疫情防控重点区域")
    private Integer impRegion;

    /**
     * 最近15天到达或途径疫情防控重点区域所在地，仅当上一个字段 imp_region 标志值为 1 时有效
     */
    @ApiModelProperty(value = "最近15天到达或途径疫情防控重点区域所在地")
    private String impRegionDir;

    /**
     * 最近15天是否接触过“近14天出入过疫情重点防控地区”的人员
     */
    @ApiModelProperty(value = "最近15天是否接触过“近14天出入过疫情重点防控地区”的人员")
    private Integer impTouch;

    /**
     * 最近15天是否接触过疑似病例/确诊病例
     */
    @ApiModelProperty(value = "近15天是否接触过疑似病例/确诊病例")
    private Integer virusTouch;

    /**
     * 是否处于隔离医学观察
     */
    @ApiModelProperty(value = "是否处于隔离医学观察")
    private Integer isolated;

    /**
     * 目前所在地
     */
    @ApiModelProperty(value = "目前所在地")
    private String location;

    /**
     * 是否出入过当前所在城市
     */
    @ApiModelProperty(value = "是否出入过当前所在城市")
    @TableField(fill = FieldFill.INSERT)
    private Integer cityTravel;

    /**
     * 出入过当前所在城市的目的城市，仅当 cityTravel 标志值为 1 时有效
     */
    @ApiModelProperty(value = "出入过当前所在城市的目的城市")
    private String travelCity;

    /**
     * 是否为重点人群
     */
    @ApiModelProperty(value = "是否为重点人群")
    private Integer focusGroups;

    /**
     * 最近是否在以下城市
     */
    @ApiModelProperty(value = "最近是否在以下城市")
    private Integer recentLoc=0;

    /**
     * 体温
     */
    @ApiModelProperty(value = "体温")
    private BigDecimal temperature;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    public static ReportInfo insertTest(){
        ReportInfo message = new ReportInfo();
//        message.setName("Thom York");
        message.setReportDate(new Timestamp(System.currentTimeMillis()));
        message.setUserId(1);
//        message.setIdType(1);
//        message.setIdNumber("eeeeeefffffaaaeerr");
//        message.setIdentityCate("预备党员");
//        message.setUniversity("东莞理工学院");
//        message.setDepartment("网络空间安全学院");
//        message.setCensusRegister("广东省深圳市");
//        message.setAddressFamily("LALALALA");
//        message.setPhone("1867566666");
        message.setEmergencyContact("Chen");
        message.setEmergencyContactNum("15654566666");
        message.setHealthCon("健康");
        message.setImpRegion(0);
        message.setImpTouch(0);
        message.setVirusTouch(0);
        message.setIsolated(0);
        message.setCityTravel(0);
//        message.setTravelCity("");
        message.setLocation("aaaaaaa");
        message.setFocusGroups(0);
        message.setRecentLoc(0);
        message.setTemperature(new BigDecimal(36.2));
        message.setRemark("");
        return message;
    }

}
